// 这里统一管理axios的所有配置文件
//引入axios核心库
import axios from 'axios'
import router from 'vue-router'
//创建一个新的实例 可以自定义一些配置
let http = axios.create({
    //这里是自定义配置对象属性
    baseURL: '/api'  //基础地址
})


// 全局请求拦截器
// 基本语法
// axios.interceptors.request.use(() => {
//     console.log('所有请求被拦截');
// })
http.interceptors.request.use((req) => {
    // console.log('所有请求被拦截');
    // req.headers.token=123;
    req.headers.authorization = sessionStorage.getItem('islogin') ? JSON.parse(sessionStorage.getItem('islogin')).token : null
    return req
})
// 全局响应拦截器
// axios.interceptors.response.use(res => {
//     console.log(res, '所有接口的响应信息');
// })
http.interceptors.response.use(res => {
    // console.log(res, '所有接口的响应信息');
    if (res.data.msg == "请设置请求头,并携带验证字符串") {
        //重新登录
        router.push('/login')
        return
    }
    if (res.data.msg == "登录已过期或访问权限受限") {
        //重新登录
        router.push('/login')
        return
    }
    return res
})

//导出封装好的实例
export default http

/* 
es6 导入导出
导出的方式决定了你的导入方式
export default  x  一个模块只能使用一次
import 自定义变量名 from '位置'
========================
export  const 变量= x   一个模块可以导出N个
export  const 变量1= ()=>{}
import {变量}  from '位置'
import {变量1}  from '位置'
*/
